package com.weitu.train.plan.entity;

import java.io.Serializable;
import java.util.List;
import java.util.Map;

/** 
 * 培训管理模块_培训计划_培训计划表 HSE_TRAIN_PLAN_INFO
 * @author Sun
 * date 2017/05/08 10:50
 */
public class Train implements Serializable {
    //串行版本ID
    private static final long serialVersionUID = 2462091764824127332L;

    // 主键 使用uuid
    private String id;

    // 标识
    private String code;

    // 备注
    private String remarks;

    // 删除标记 0未删除 1 已删除  默认：((0))
    private Integer delState;

    // 添加人
    private String addUserId;

    // 添加人部门Id
    private String addDeptId;

    // 添加时间
    private String addTime;

    // 修改人部门Id
    private String updateDeptId;

    // 最后修改人
    private String updateUserId;

    // 最后修改时间
    private String updateTime;

    // 培训计划名称（培训班名称）
    private String name;

    // 年度
    private String year;

    // 计划分类标识(数据字典)
    private String planTypeId;

    // 培训类别标识（数据字典）
    private String trainTypeId;

    // 专业类别标识（数据字典）
    private String professionalTypeId;

    // 培训级别标识（数据字典）
    private String trainLevelId;

    // 计划开班月份
    private String planStartMonth;

    // 是否外部培训（0否，1是）
    private Integer isExternal;

    // 主办单位id（关联部门id）
    private String hostDeptId;

    // 主办单位(外部培训)
    private String hostDeptName;

    // 培训机构id(关联部门id或者培训机构管理模块的id)
    private String trainDeptId;

    // 是否取证（0否，1是）
    private Integer hasCertificate;

    // 证书类型(数据字典)
    private String certificateTypeId;

    // 计划培训学时
    private String planTrainHour;

    // 计划培训人数
    private Integer planTrainPerson;

    // 计划培训期数
    private Integer planTrainPeriod;

    // 计划开班地点
    private String planTrainPlace;

    // 培训班负责人
    private String principal;

    private List<Map> certificateTypeIds;

    /**
     * 实际期数
     */
    private Integer realPeNum;
    /**
     * 实际培训人数
     */
    private Integer realUserNum;

    /**
     * 合格人数
     */
    private Integer realHgUserNum;

    /**
     * 不合格人数
     */
    private Integer realNhUserNum;

    private String hostDeptIdName;
    private String prRealName;
    private String realName;
    private String deptName;
    /**
     * 计划类型
     */
    private String planTypeIdName;
    private String trainTypeIdName;
    /**
     * 专业类型
     */
    private String proTypeIdName;
    /**
     * 等级
     */
    private String trainLevelIdName;

    private Float hourNum;

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getCode() {
        return code;
    }

    public void setCode(String code) {
        this.code = code;
    }

    public String getRemarks() {
        return remarks;
    }

    public void setRemarks(String remarks) {
        this.remarks = remarks;
    }

    public Integer getDelState() {
        return delState;
    }

    public void setDelState(Integer delState) {
        this.delState = delState;
    }

    public String getAddUserId() {
        return addUserId;
    }

    public void setAddUserId(String addUserId) {
        this.addUserId = addUserId;
    }

    public String getAddDeptId() {
        return addDeptId;
    }

    public void setAddDeptId(String addDeptId) {
        this.addDeptId = addDeptId;
    }

    public String getAddTime() {
        return addTime;
    }

    public void setAddTime(String addTime) {
        this.addTime = addTime;
    }

    public String getUpdateDeptId() {
        return updateDeptId;
    }

    public void setUpdateDeptId(String updateDeptId) {
        this.updateDeptId = updateDeptId;
    }

    public String getUpdateUserId() {
        return updateUserId;
    }

    public void setUpdateUserId(String updateUserId) {
        this.updateUserId = updateUserId;
    }

    public String getUpdateTime() {
        return updateTime;
    }

    public void setUpdateTime(String updateTime) {
        this.updateTime = updateTime;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getYear() {
        return year;
    }

    public void setYear(String year) {
        this.year = year;
    }

    public String getPlanTypeId() {
        return planTypeId;
    }

    public void setPlanTypeId(String planTypeId) {
        this.planTypeId = planTypeId;
    }

    public String getTrainTypeId() {
        return trainTypeId;
    }

    public void setTrainTypeId(String trainTypeId) {
        this.trainTypeId = trainTypeId;
    }

    public String getProfessionalTypeId() {
        return professionalTypeId;
    }

    public void setProfessionalTypeId(String professionalTypeId) {
        this.professionalTypeId = professionalTypeId;
    }

    public String getTrainLevelId() {
        return trainLevelId;
    }

    public void setTrainLevelId(String trainLevelId) {
        this.trainLevelId = trainLevelId;
    }

    public String getPlanStartMonth() {
        return planStartMonth;
    }

    public void setPlanStartMonth(String planStartMonth) {
        this.planStartMonth = planStartMonth;
    }

    public Integer getIsExternal() {
        return isExternal;
    }

    public void setIsExternal(Integer isExternal) {
        this.isExternal = isExternal;
    }

    public String getHostDeptId() {
        return hostDeptId;
    }

    public void setHostDeptId(String hostDeptId) {
        this.hostDeptId = hostDeptId;
    }

    public String getHostDeptName() {
        return hostDeptName;
    }

    public void setHostDeptName(String hostDeptName) {
        this.hostDeptName = hostDeptName;
    }

    public String getTrainDeptId() {
        return trainDeptId;
    }

    public void setTrainDeptId(String trainDeptId) {
        this.trainDeptId = trainDeptId;
    }

    public Integer getHasCertificate() {
        return hasCertificate;
    }

    public void setHasCertificate(Integer hasCertificate) {
        this.hasCertificate = hasCertificate;
    }

    public String getCertificateTypeId() {
        return certificateTypeId;
    }

    public void setCertificateTypeId(String certificateTypeId) {
        this.certificateTypeId = certificateTypeId;
    }

    public String getPlanTrainHour() {
        return planTrainHour;
    }

    public void setPlanTrainHour(String planTrainHour) {
        this.planTrainHour = planTrainHour;
    }

    public Integer getPlanTrainPerson() {
        return planTrainPerson;
    }

    public void setPlanTrainPerson(Integer planTrainPerson) {
        this.planTrainPerson = planTrainPerson;
    }

    public Integer getPlanTrainPeriod() {
        return planTrainPeriod;
    }

    public void setPlanTrainPeriod(Integer planTrainPeriod) {
        this.planTrainPeriod = planTrainPeriod;
    }

    public String getPlanTrainPlace() {
        return planTrainPlace;
    }

    public void setPlanTrainPlace(String planTrainPlace) {
        this.planTrainPlace = planTrainPlace;
    }

    public String getPrincipal() {
        return principal;
    }

    public void setPrincipal(String principal) {
        this.principal = principal;
    }

    public List<Map> getCertificateTypeIds() {
        return certificateTypeIds;
    }

    public void setCertificateTypeIds(List<Map> certificateTypeIds) {
        this.certificateTypeIds = certificateTypeIds;
    }

    public Integer getRealPeNum() {
        return realPeNum;
    }

    public void setRealPeNum(Integer realPeNum) {
        this.realPeNum = realPeNum;
    }

    public Integer getRealUserNum() {
        return realUserNum;
    }

    public void setRealUserNum(Integer realUserNum) {
        this.realUserNum = realUserNum;
    }

    public Integer getRealHgUserNum() {
        return realHgUserNum;
    }

    public void setRealHgUserNum(Integer realHgUserNum) {
        this.realHgUserNum = realHgUserNum;
    }

    public Integer getRealNhUserNum() {
        return realNhUserNum;
    }

    public void setRealNhUserNum(Integer realNhUserNum) {
        this.realNhUserNum = realNhUserNum;
    }

    public String getHostDeptIdName() {
        return hostDeptIdName;
    }

    public void setHostDeptIdName(String hostDeptIdName) {
        this.hostDeptIdName = hostDeptIdName;
    }

    public String getPrRealName() {
        return prRealName;
    }

    public void setPrRealName(String prRealName) {
        this.prRealName = prRealName;
    }

    public String getRealName() {
        return realName;
    }

    public void setRealName(String realName) {
        this.realName = realName;
    }

    public String getDeptName() {
        return deptName;
    }

    public void setDeptName(String deptName) {
        this.deptName = deptName;
    }

    public String getPlanTypeIdName() {
        return planTypeIdName;
    }

    public void setPlanTypeIdName(String planTypeIdName) {
        this.planTypeIdName = planTypeIdName;
    }

    public String getTrainTypeIdName() {
        return trainTypeIdName;
    }

    public void setTrainTypeIdName(String trainTypeIdName) {
        this.trainTypeIdName = trainTypeIdName;
    }

    public String getProTypeIdName() {
        return proTypeIdName;
    }

    public void setProTypeIdName(String proTypeIdName) {
        this.proTypeIdName = proTypeIdName;
    }

    public String getTrainLevelIdName() {
        return trainLevelIdName;
    }

    public void setTrainLevelIdName(String trainLevelIdName) {
        this.trainLevelIdName = trainLevelIdName;
    }

    @Override
    public String toString() {
        final StringBuilder sb = new StringBuilder("Train{");
        sb.append("id='").append(id).append('\'');
        sb.append(", code='").append(code).append('\'');
        sb.append(", remarks='").append(remarks).append('\'');
        sb.append(", delState=").append(delState);
        sb.append(", addUserId='").append(addUserId).append('\'');
        sb.append(", addDeptId='").append(addDeptId).append('\'');
        sb.append(", addTime='").append(addTime).append('\'');
        sb.append(", updateDeptId='").append(updateDeptId).append('\'');
        sb.append(", updateUserId='").append(updateUserId).append('\'');
        sb.append(", updateTime='").append(updateTime).append('\'');
        sb.append(", name='").append(name).append('\'');
        sb.append(", year='").append(year).append('\'');
        sb.append(", planTypeId='").append(planTypeId).append('\'');
        sb.append(", trainTypeId='").append(trainTypeId).append('\'');
        sb.append(", professionalTypeId='").append(professionalTypeId).append('\'');
        sb.append(", trainLevelId='").append(trainLevelId).append('\'');
        sb.append(", planStartMonth='").append(planStartMonth).append('\'');
        sb.append(", isExternal=").append(isExternal);
        sb.append(", hostDeptId='").append(hostDeptId).append('\'');
        sb.append(", hostDeptName='").append(hostDeptName).append('\'');
        sb.append(", trainDeptId='").append(trainDeptId).append('\'');
        sb.append(", hasCertificate=").append(hasCertificate);
        sb.append(", certificateTypeId='").append(certificateTypeId).append('\'');
        sb.append(", planTrainHour='").append(planTrainHour).append('\'');
        sb.append(", planTrainPerson=").append(planTrainPerson);
        sb.append(", planTrainPeriod=").append(planTrainPeriod);
        sb.append(", planTrainPlace='").append(planTrainPlace).append('\'');
        sb.append(", principal='").append(principal).append('\'');
        sb.append(", certificateTypeIds=").append(certificateTypeIds);
        sb.append(", realPeNum=").append(realPeNum);
        sb.append(", realUserNum=").append(realUserNum);
        sb.append(", realHgUserNum=").append(realHgUserNum);
        sb.append(", realNhUserNum=").append(realNhUserNum);
        sb.append(", hostDeptIdName='").append(hostDeptIdName).append('\'');
        sb.append(", prRealName='").append(prRealName).append('\'');
        sb.append(", realName='").append(realName).append('\'');
        sb.append(", deptName='").append(deptName).append('\'');
        sb.append(", planTypeIdName='").append(planTypeIdName).append('\'');
        sb.append(", trainTypeIdName='").append(trainTypeIdName).append('\'');
        sb.append(", proTypeIdName='").append(proTypeIdName).append('\'');
        sb.append(", trainLevelIdName='").append(trainLevelIdName).append('\'');
        sb.append(", hourNum=").append(hourNum);
        sb.append('}');
        return sb.toString();
    }

    public Float getHourNum() {
        return hourNum;
    }

    public void setHourNum(Float hourNum) {
        this.hourNum = hourNum;
    }
}